home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / dskut / ramit166.zip / RAMIT.DOC < prev    next >
Text File  |  1990-05-09  |  31KB  |  961 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.                          +-------------+
  9.                          |  RAMIT!!!   |
  10.                          +-------------+
  11.  
  12.  
  13.  
  14.      If you're  running an  8-bit hard disk controller (generally
  15.      designed for  both PCs and ATs) on a 16 bit machine (like an
  16.      AT or  AT&T PC6300)  then RAMIT!  may be  able to  help  you
  17.      improve your disk transfer speed.
  18.  
  19.  
  20.  
  21.  
  22.      What is RAMIT?
  23.                               RAMIT is  a program to run the disk
  24.                               code supplied  with an PC type disk
  25.                               controller out  of RAM  rather than
  26.                               from the disk controller's ROM.
  27.  
  28.      What does that do?
  29.                               By running  out of  RAM rather than
  30.                               ROM, some  machines can  achieve  a
  31.                               real  performance   gain  in   disk
  32.                               transfer time.
  33.  
  34.      Does this apply to
  35.      me?
  36.                               RAMIT can  make a  difference in  a
  37.                               number of  situations.   To see any
  38.                               disk performance improvement,
  39.  
  40.                               1. You  must be  using a  hard disk
  41.                               controller which  has its  own BIOS
  42.                               ROM code.  This includes unmodified
  43.                               Western Digital,  Mountain, Perstor
  44.                               and  Plus  [Hardcard]  controllers.
  45.                               Undoubtedly there are many others.
  46.  
  47.                               2. You  must have  a machine  which
  48.                               runs code  faster from RAM than the
  49.                               I/O bus.  This includes all 16 bits
  50.                               machines (AT  types) and many other
  51.                               compatibles (e.g. AT&T PC6300).
  52.  
  53.                               3.  You must be willing to reformat
  54.                               your hard  disk to  get the benefit
  55.                               of this  speedup.   Naturally, this
  56.                               requires a full backup and restore.
  57.  
  58.      Still Interested?
  59.                               Read on.
  60.  
  61.  
  62.  
  63.  
  64.  
  65. RAMIT!                  Copyright (c) Hanover Systems, 1987, 1988
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.               +-----------------------------------+
  73.               |  OK, so what does RAMIT! do!!!!   |
  74.               +-----------------------------------+
  75.  
  76.  
  77. RAMIT! is a TSR which relocates your disk controller ROM into
  78. high-speed RAM and 'fixes up' MSDOS to run the disk code from
  79. RAM.
  80.  
  81. RAMIT! operates as follows:
  82.  
  83.      1. RAMIT!  verifies that  there  is  a  valid  ROM  BIOS  at
  84.      C800:0000.
  85.  
  86.      2. RAMIT! copies the disk ROM contents to RAM.
  87.  
  88.      3. RAMIT!  disassembles the  ROM to  find out  what  it  had
  89.      placed in vector locations 4C and 64.  These are the primary
  90.      entry points  into the  ROM code.   If  RAMIT! is  unable to
  91.      determine  these  values,  then  it  aborts  with  an  error
  92.      message.   This is  generally  attributable  to  an  unusual
  93.      instruction sequence  used to  'steal' the vectors.  Contact
  94.      the author for unusual ROMs.
  95.  
  96.      If you'd rather do the disassembly yourself, the original 4C
  97.      and 64  vector addresses  can be  specified on  the  command
  98.      line.   This is  the dirty  way to support controllers whose
  99.      initialization sequence  is simply  too messy  for automatic
  100.      decoding.
  101.  
  102.      If RAMIT! 'knows' about your ROMs, it knows which 4C, 64 and
  103.      edit parameters  to use.   RAMIT  calculates a  CRC for  the
  104.      resident portion  of a  ROM and scans an internal table.  If
  105.      your ROM  is not in the table, contact the author and supply
  106.      a floppy disk with the ROM on it.
  107.  
  108.      4. RAMIT!  'fixes' MSDOS or PCDOS by finding where DOS keeps
  109.      the vector  originally placed  by  the  disk  ROM  BIOS  and
  110.      redirecting it to the RAM copy.
  111.  
  112.      5. RAMIT!  exits, leaving  only a  copy of  the vendor's ROM
  113.      code.   All RAMIT! code is removed.  Most unused ROM code is
  114.      also removed.   The  amount of  memory taken  depends on the
  115.      size and  complexity of the disk controller ROM BIOS.  In no
  116.      event will it be more than 8K of code.
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129. RAMIT!                  Copyright (c) Hanover Systems, 1987, 1988
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.                 +----------------------------+
  138.                 |  Well how do I run RAMIT?  |
  139.                 +----------------------------+
  140.  
  141.  
  142.  
  143.  
  144. Find out your current performance level
  145.  
  146.      Before seeing whether RAMIT! can make a difference, you must
  147.      know how your system performs before RAMIT! is installed.
  148.  
  149.      If your  disk/PC combination  is not explicitly mentioned in
  150.      the README.RAM  file in  this archive  (and you  can't  find
  151.      another PC close enough), then you may have to experiment to
  152.      find the best interleave factor.
  153.  
  154.      SPINTEST is a publicly available utility which computes disk
  155.      transfer rate.   It  can be  used to  see when  the  optimum
  156.      interleave has been established.
  157.  
  158.      Another program, ATDISK, often distributed as part of the PC
  159.      Tech Journal utilities will calculate the transfer rate.
  160.  
  161.      Finally, the  CORETEST program  from Core International will
  162.      compute the  transfer rate.   Any  of these  programs can be
  163.      used to  determine when  the  optimum  interleave  has  been
  164.      found.
  165.  
  166.      First, run SPINTEST to get the transfer rate and interleave.
  167.      Then  reduce   the  interleave  until  you  suddenly  see  a
  168.      reduction in  the transfer  rate.  At that point you've gone
  169.      too far!  Back off by increasing the interleave slightly and
  170.      reformat for the last time.
  171.  
  172.      MAKE SURE  THAT YOU'VE  INSTALLED RAMIT  BEFORE RUNNING  ANY
  173.      PERFORMANCE TEST.   IF YOU HAVEN'T YOU'RE JUST MEASURING THE
  174.      PLAIN  VANILLA  PERFORMANCE  OF  YOUR  CONTROLLER  ROM-BASED
  175.      SOFTWARE!!!
  176.  
  177.      The following may serve as an example:
  178.           Set IL=6; Spintest says 6 revolutions to read a track.
  179.           Set IL=5; Spintest says 5 revolutions to read a track.
  180.           Set IL=4; Spintest says 4 revolutions to read a track.
  181.           Set IL=3; Spintest says 18 revolutions to read a track.
  182.  
  183.           At this  point, going  to an  interleave of 3 does more
  184.           harm than good.  Back off and use an interleave of 4.
  185.  
  186.  
  187.  
  188.      An easier  way is  to install  RAMIT and  use one of several
  189.      programs which  promise to determine the optimum interleave.
  190.  
  191.  
  192.  
  193. RAMIT!                  Copyright (c) Hanover Systems, 1987, 1988
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.      ILEAVE19.ARC (a public domain program) and Gibson Research's
  201.      SPINRITE (definitely  not in the public domain) are two such
  202.      programs.  Please note that it is critical to install RAMIT!
  203.      before running  these test  programs  otherwise,  you'll  be
  204.      getting the best value without RAMIT!.
  205.  
  206.  
  207. Testing RAMIT! the first time
  208.  
  209.      At first,  RAMIT! should  be run  in TEST  mode.   This will
  210.      indicate whether RAMIT! is likely to work on your machine.
  211.  
  212.      Type
  213.  
  214.           RAMIT /T
  215.  
  216.      and examine  the output.   There  should be  three  messages
  217.      indicating that  0000:xxxx  has  been  overwritten.    Don't
  218.      worry, in TEST mode the memory is not actually modified.
  219.  
  220.      If RAMIT!  fails or  the messages  don't appear,  check  the
  221.      README.RAM file in this archive.  If your drive and computer
  222.      isn't on  the list,  be careful.   Things  may very well not
  223.      work.
  224.  
  225.      If you  get no error messages, RAMIT! will probably work for
  226.      you.
  227.  
  228.      The following  is a sample installation using the /V option.
  229.      (Specifying /T assumes /V.)
  230.  
  231.         > RAMIT /V
  232.           RAMIT!    [V1.6]  Copyright (c)  1988 Hanover  Systems.
  233.           All rights reserved.                   ]  Version
  234.  
  235.           Disk controller vector 1B at C800:0A79 moved to segment
  236.           0DB2
  237.           Overriding segment address at 0000:1ECB  +  Expect 2
  238.           Overriding segment address at 0000:2